import SparkApi

# 以下密钥信息从控制台获取
appid = "xxxxxxxx"  # 填写控制台中获取的 APPID 信息
api_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"  # 填写控制台中获取的 APISecret 信息
api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  # 填写控制台中获取的 APIKey 信息

# 用于配置大模型版本，默认“general/generalv2”
domain = "general"  # v1.5版本
# domain = "generalv2"    # v2.0版本
# 云端环境的服务地址
Spark_url = "ws://spark-api.xf-yun.com/v1.1/chat"  # v1.5环境的地址
# Spark_url = "ws://spark-api.xf-yun.com/v2.1/chat"  # v2.0环境的地址


text = []


# length = 0

def getText(role, content):
    print(content)
    jsoncon = {}
    jsoncon["role"] = role
    jsoncon["content"] = content
    text.append(jsoncon)
    print(text)
    return text


def getlength(text):
    length = 0
    for content in text:
        temp = content["content"]
        leng = len(temp)
        length += leng
    return length


def checklen(text):
    while (getlength(text) > 8000):
        del text[0]
    return text


def Chat_Main(Text):
    # Input = input("\n" + "我:")
    text.clear()
    question = checklen(getText("user", Text))
    SparkApi.answer = ""
    print("星火:", end="")
    SparkApi.main(appid, api_key, api_secret, Spark_url, domain, question)
    aa = getText("assistant", SparkApi.answer)
    return aa


# if __name__ == '__main__':
#     text.clear
#     while (1):
#         Input = input("\n" + "我:")
#         question = checklen(getText("user", Input))
#         SparkApi.answer = ""
#         print("星火:", end="")
#         SparkApi.main(appid, api_key, api_secret, Spark_url, domain, question)
#         aa = getText("assistant", SparkApi.answer)
#         # return aa[1]["content"]
